// pages/detail/detail.js
const adapters = require("../../utils/adapters");
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    header: {
      title: '故障详情',
      whiteBg: false,
      mode: 'back',
      navBarHeight: app.globalData.navBarHeight
    },

    list:['打火','破损','磨损','烧伤'],
    userInfo: null,
    maintenanceNumber: '',
    workOrder: [],
    pageMode: '',
    faultReason: {
      popupIndex: null,
    },
  },
  onPageScroll(e){
    this.setData({
      'header.whiteBg' : e.scrollTop < 40 ?false : true
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 通过跳转来的链接内获取工单编号和页面模式（待回复/已回复）
    this.setData({
      maintenanceNumber: options.maintenancenumber,
      pageMode: Number(options.pagemode),
      userInfo: wx.getStorageSync('userInfo')
    });
    // 将工单编号发送至接口获取工单数据
    this.getMaintenanceDetail();
  },

  downLoadReport() {
    const fileSystemManager = wx.getFileSystemManager(); // 获取文件系统管理器

    wx.showLoading({
      title: '正在下载...',
    });
  
    // Step 1: 下载文件到临时路径
    wx.downloadFile({
      url: this.data.workOrder.detectFile, // 文件的远程 URL
      success: function (res) {
        if (res.statusCode === 200) {
          wx.openDocument({
            filePath: res.tempFilePath,
            fileType: 'docx', // 根据实际情况填写
            success: function (res) {
              console.log('打开文档成功');
            }
          });
        }
      },
      fail(err) {
        wx.showToast({
          title: '下载失败',
          icon: 'none',
        });
        console.error('文件下载失败:', err);
      },
      complete() {
        wx.hideLoading();
      },
    });
  },

  changeUniteListPopupHidden(e) {
    const index = e.currentTarget.dataset.index;
    if (this.data.faultReason.popupIndex === null && this.data.workOrder.failureCauseList[index].multiSelected) {
      this.setData({
        'faultReason.popupIndex': index
      })
    } else {
      this.setData({
        'faultReason.popupIndex': null
      })
    }
  },

  async getMaintenanceDetail() {
    // 从页面获取工单编号和用户信息
    const { userInfo, maintenanceNumber} = this.data
    // 发送工单编号和用户手机号给接口来获取数据
    const result = await adapters.getMaintenanceDetail({
      type: 1,
      phoneNumber: userInfo.phoneNumber,
      workOrderNumber: maintenanceNumber
    });
    console.log(result.data)
    if (result.success) {
      this.setData({ workOrder: result.data });
    } else {
      wx.showToast({ title: result.message, icon: 'none' });
    }
  },
})